const express = require("./express");
const pathToRegExp = require("path-to-regexp");
const app = express(); // express 是一个函数

// 中间件的路径和cookie中的path 是一样的，如果请求的路径以这个路径开头就会执行函数
// 路径传递参数  传参有两种方式 ?a=1&b=2   /user/:xxx/:xxx
// params = {id:1,name:2}
// let keys = [];
// let reg = pathToRegExp("/user/:id/:name/user", keys);
// console.log(
//   keys.map((item) => item.name),
//   reg
// );
// path-to-regexp
// /user/1/2/user  核心就是解析词法
app.get("/user/:id/:name/user", function (req, res) {
  res.end(JSON.stringify(req.params));
});

app.listen(3000, function () {
  console.log("server start 3000");
});

/**
const path = "/user/:id/:name/user";
let keys = []; // id,name
const regPath = path.replace(/:([^/]+)/g, function () {
  keys.push(arguments[1]);
  return "([^/]+)";
});
console.log(keys);
const requestPath = "/user/1/2/user";
console.log(requestPath.match(new RegExp(regPath)).slice(1));
 */
